package Ascensores;

import java.util.List;

public class Controlador {

	
	List<Ascensor> misAscensores;
	
	
	public void llamadaSubida(Integer unPiso){
		
		ascensorMasProximoLlamadaSubida(unPiso).llamarSubir(unPiso);
		
	}
	
	private Ascensor ascensorMasProximoLlamadaSubida(Integer unPiso) {
		Ascensor ascensorResult = misAscensores.get(0);
		
		for (Ascensor iterableAscensor : misAscensores) {
			if(iterableAscensor.calcularLlamadaSubida(unPiso) 
					< ascensorResult.calcularLlamadaSubida(unPiso)){
				ascensorResult = iterableAscensor;
				
			}
			
		}
		return ascensorResult;
	}

	public void llamadaBajada(Integer unPiso){
		
		ascensorMasProximoLlamadaBajada(unPiso).llamarBajar(unPiso);
	}

	private Ascensor ascensorMasProximoLlamadaBajada(Integer unPiso) {
		Ascensor ascensorResult = misAscensores.get(0);
		
		for (Ascensor iterableAscensor : misAscensores) {
			if(iterableAscensor.calcularLlamadaBajada(unPiso) 
					< ascensorResult.calcularLlamadaBajada(unPiso)){
				ascensorResult = iterableAscensor;
				
			}
			
		}
		return ascensorResult;
	}
	

	
	
}
